昨天介紹了如何新增event bus,今天會一步一步介紹如何完成新增event bus底下的rule。
這邊填寫好rule的name,並選好要在哪個event bus新增rule,然後Rule type已經固定選Rule with an event pattern
,如果想要使用Schedule,必須要在Scheduler那邊設定,Rules這邊不能選。
Build event pattern
的意思是,要設event source發送的event的schema和filter,這樣event bus才不會囫圇吞棗的接收所有event,隨意觸發後面的target,畢竟接收event的target收到太多event,可能會影響處理event的速度,也會花費不必要的金錢。 Event source
共有三個選項,這邊不一定要選擇,只是讓使用者可以拉出想要的範例,在設定event pattern的時候,可以更貼近自己的需求:
下面會再更詳細的介紹每個source的差異。
AWS events是指aws服務送給event bus的event;EventBridge partner是與 AWS 整合,允許他們的服務直接向EventBridge發送event的第三方 SaaS 供應商。選擇AWS events or EventBridge partner events
,下面的Creation method
會自動選擇Use pattern form,Event pattern
也會跟著不同Creation method
調整。Event pattern
的Event source可以選擇AWS service
或EventBridege partner
。
選AWS service
,下面的列表會提供AWS的各項服務讓你選擇。
選了其中一個服務之後,就可以選Event type
,Event type
會決定該service的event pattern長什麼樣子,AWS會自動幫你拉出範例。
如果AWS的範例不能滿足需求,可以按Edit pattern
,自行編輯event的patten,決定只有哪些event可以送到這個event bus。
如果選擇other,表示不需要指定服務可以送event,單純的使用一些條件來篩選要不要接收event,Creation method
會自動選擇Custom pattern (JSON editor)
。
選了條件之後,按下Insert
就可以看到系統幫你塞了一個你指定的條件,只要完善event patten的Json,就可以完成pattern。
選擇All events
,event pattern就比較簡單了,固定是某個AWS帳號。
接下來就要設定target,這次的目的是要觸發lambda,所以type要選擇AWS service
,target要選擇Lambda function
,然後再選擇要觸發哪個lambda function。另外,也可以設定Retry policy
,決定要保留event多久,要Retry幾次,要不要設定dead-letter queue。
設定tag,這部分是選填。
這個是最後一步,review完沒有問題,就可以按下Create rule
,成功新增一條rule。
設定好之後,就可以測試看看,進入event bus,有個Send events
的功能就可以測試。
填好Event source
、Detail type
和Event detail
按下Send
就可以開始丟event測試。
如果rule有收到指定的event,在monitoring就可以看到觸發event的數量。